class Solution {
    public ListNode oddEvenList(ListNode head) {
    if(head == null) return null ;
       ListNode ji = null ;
       ListNode jiLast = null ;
       ListNode ou = null ;
       ListNode ouLast = ou ;
       ListNode cur = head ;
       boolean flg = true ;
       while(cur != null){
         ListNode curNext = cur.next ;
         if(flg ){
           if(ji == null){
             ji = cur ;
             jiLast = ji ;
           }else{
             jiLast.next = cur ;
             jiLast = jiLast.next ;
           }
           flg = false ;
         }else{
           if(ou == null){
            ou = cur ;
            ouLast = ou ;
           }else{
           ouLast.next = cur ;
            ouLast = ouLast.next ;
           }
           flg = true ;
         }
         cur = curNext;
       }
        if(jiLast != null){
            jiLast.next = ou ;
        }
        if(ouLast!=null){
            ouLast.next = null ;
        }

        return ji;

    }
}